内部集成电路 - I2C 协议
💡 I2C 协议 是电子设备间高效通信的基石!这种简单却强大的两线制协议,让主从设备间的数据交换变得优雅而可靠。无论是传感器读取还是芯片配置,I2C 都能以最少的连线实现复杂的通信需求。
🔌 协议基础:双线制设计
- I2C 全称 内部集成电路(Inter-integrated Circuits)
- ✨ 特点:串行、多主控、半双工通信
- 🧵 核心线路:串行数据线(SDA) + 串行时钟线(SCL)
- 🔄 灵活架构:主从模式可动态切换

⚡ 通信时序:精准的信号舞蹈
🎬 1️⃣ 起始条件
- ⏱️ SCL 高电平时,SDA 高→低跳变
- 🚫 其他阶段 SCL 高时 SDA 禁止变化
📍 2️⃣ 地址阶段
- 🔢 7/10 位从设备标识符 + R/W位
- 📶 数据转换仅允许在 SCL 低电平时
- 🔄 读(1)/写(0)位决定数据流向
✔️ 3️⃣ ACK/NACK 机制
- 第9时钟脉冲时:
- ✅ SDA 低 = ACK(地址匹配)
- ❌ SDA 高 = NACK(地址不匹配)
- 📡 每个数据字节后都有确认信号
💾 4️⃣ 数据阶段
- 🔠 以字节为单位传输
- 🔁 主设备可持续发送多个字节
- ✔️ 每字节后从设备必须回应 ACK/NACK
🛑 5️⃣ 停止条件
- ⏹️ SCL 高电平时,SDA 低→高跳变
- 🌌 总线恢复高电平表示空闲状态
🏆 协议优势:简单中的不凡
- 🎯 最少连线实现多设备通信
- ⚡ 硬件开销极低
- 🔄 主从角色可动态切换
- 📊 广泛支持7/10位寻址模式
💡 小贴士:I2C 总线上拉电阻的选择直接影响通信质量!根据总线电容和速度需求精确计算阻值,是确保稳定通信的关键。